﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace LI4
{
    public partial class pesquisaAnuncioDistrito : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (distritoLB.Items.Count < 1)
            {
                localidadeLB.Items.Clear();
                ArrayList distritos = new ArrayList();
                Data.Distrito dist = new Data.Distrito();
                distritos = dist.getDistritos();

                foreach (Business.Distrito distrito in distritos)
                    distritoLB.Items.Add(distrito.Nome);

                Data.Localidade local = new Data.Localidade();

                foreach (Business.Distrito distrito in distritos)
                    localidadeLB.Items.Add(local.getLocalidadeDistrito(distrito.CodDistrito).Nome);

                map_canvas.Visible = false;
            }
        }

        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void Button1_Click1(object sender, EventArgs e)
        {
            ListBox1.Items.Clear();



            Data.Empresa emp = new Data.Empresa();
            Data.Candidato cand = new Data.Candidato();
            Data.Localidade localidaded = new Data.Localidade();
            ArrayList localidades = new ArrayList();

            Business.Localidade localidade = new Business.Localidade();
            localidade = localidaded.getLocalidadeNome(localidadeLB.SelectedItem.Text);
            

            Data.Anuncio anuncio = new Data.Anuncio();
            ArrayList anuncios = new ArrayList();

            anuncios = anuncio.getAnunciosLocalidade(localidade.CodLocalidade);

            foreach (Business.Anuncio anunciol in anuncios)
            {

                    ListBox1.Items.Add(anunciol.CodAnuncio.ToString() + "-" + anunciol.Descricao);
            }  

           
        }

        protected void Button2_Click(object sender, EventArgs e)
        {

            if (ListBox1.Items.Count < 1)
            {
                Response.Write("<script>alert('Pesquise um anúncio')</script>");
            }
            else
            {
                if (ListBox1.SelectedItem == null)
                    Response.Write("<script>alert('Seleccione um anuncio')</script>");
                else
                {
                    char[] delimiterChars = { '-' };
                    string[] palavra = ListBox1.SelectedItem.Text.Split(delimiterChars);
                    int index = Int32.Parse(palavra[0]);
                    string nomeUser = palavra[1];
                    Data.Anuncio anunc = new Data.Anuncio();
                    ArrayList anuncios = new ArrayList();



                    Business.Anuncio anuncioPrinc = new Business.Anuncio(anunc.getAnuncio(index));
                    Data.Candidato cand = new LI4.Data.Candidato();
                    Data.Empresa empr = new LI4.Data.Empresa();

                    if (empr.existeEmpresa(anuncioPrinc.Username))
                    {
                        Business.Empresa empresa = new LI4.Business.Empresa(empr.getEmpresa(anuncioPrinc.Username));
                        anuncioTB.Text = empresa.Nome;
                        emailTB.Text = empresa.Mail;
                        telTB.Text = empresa.Telefone.ToString();
                    }
                    else
                    {
                        Business.Candidato candidato = new LI4.Business.Candidato(cand.getCandidato(anuncioPrinc.Username));

                        anuncioTB.Text = candidato.Nome;
                        emailTB.Text = candidato.Mail;
                        telTB.Text = candidato.Telefone.ToString();
                    }

                    Data.Area areap = new Data.Area();
                    Business.Area area = new Business.Area(areap.getArea(anuncioPrinc.Area.Cod_Area));
                    areaTB.Text = area.Nome;
                    distritoTB.Text = distritoLB.SelectedItem.Text;
                    localidadeTB.Text = localidadeLB.SelectedItem.Text;
                    moradaTB.Text = anuncioPrinc.Rua;
                    descricaoTB.Text = anuncioPrinc.Descricao;
                    click_lat.Value = anuncioPrinc.Latitude;
                    click_long.Value = anuncioPrinc.Longitude;

                    map_canvas.Visible = true;

                }
            }

        }

        protected void distritoLB_SelectedIndexChanged(object sender, EventArgs e)
        {
            localidadeLB.Items.Clear();
            Data.Localidade local = new Data.Localidade();
            ArrayList localidades = new ArrayList();
            Data.Distrito distrito = new Data.Distrito();
            Business.Distrito dist = new Business.Distrito(distrito.getDistritoNome(distritoLB.SelectedItem.Text));

            localidades = local.getLocalidadesDistrito(dist.CodDistrito);

            foreach (Business.Localidade localidade in localidades)
                localidadeLB.Items.Add(localidade.Nome);
        }

        protected void Buttonmap_Click(object sender, EventArgs e)
        {

        }
    }
}
